
'''
    9*9乘法表的实现
'''

# 1.把乘法表左上角考虑成(1，1)坐标点，每个乘法表达式 等于row * col
# 2.输出是一行一行输出的，所有每一行输出后需要换行
# 3.每一行的行号，就是列从1到行号的循环
# 4.为格式化输出，使用占位

for row in range(1,10):
    for col in range(1,row+1):
        print('{}*{}={:<4}'.format(row,col,row*col),end=' ')
    print('')


print('='*60)

j=1
while j<10:
    i=1
    while i<=j:
        print('{}*{}={:<4}'.format(i,j,i*j),end=' ')
        i=i+1
    print('')
    j=j+1
print('第一个乘法表效果')
print('='*60)

for row in range(1,10):
    for col in range(row,10):
        print('{}*{}={:<4}'.format(row,col,row*col),end=' ')
    print('')

print('='*60)

j=1
while j<10:
    i=j
    while i<=9:
        print('{}*{}={:<4}'.format(i,j,i*j),end=' ')
        i=i+1
    print('')
    j=j+1

print('第二个乘法表效果')
print('='*60)
for col in range(1,10):
    print(' '*(9-col)*9,end=' ')
    for row in range(1,col+1):
        print('{}*{}={:<4}'.format(row,col,row*col),end=' ')
    print('')

print('='*60)

i=1
while i<10:
    print(' '*(9-i)*9,end=' ')
    j=1
    while j<i+1:
        print('{}*{}={:<4}'.format(i,j,i*j),end=' ')
        j=j+1
    print('')
    i=i+1
print('第三个乘法表效果')
print('='*60)

for row in range(9,0,-1):
    print(' '*(9-row)*9,end=' ')
    for col in range(row,0,-1):
        print('{}*{}={:<4}'.format(row,col,row*col),end=' ')
    print('')
print('='*60)

i=9
while i>0:
    print(' '*(9-i)*9,end=' ')
    j=i
    while j>0:
        print('{}*{}={:<4}'.format(i,j,i*j),end=' ')
        j=j-1
    print('')
    i=i-1
print('第四个乘法表效果')
print('='*60)
